﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using bolsatrabajo.Dominio.DAO;

namespace bolsatrabajo.Persistencia.DAO
{
    public class PostulacionDAO
    {
        private String cadenaconexion = "Data Source=(local); Initial Catalog=bdbolsatrabajo; User Id=root; Password=12345678;";
        private SqlConnection conexion;
        public PostulacionDAO()
        {
            conexion = new SqlConnection(cadenaconexion);
        }
        public Postulacion CrearPostulacion(Postulacion postulacion)
        {
            conexion.Open();
            String sentencia = "insert into tbpostulacion values(" + postulacion.Id_Postulacion + ", '" +  postulacion.DescripcionPostulante +"', " + postulacion.Id_Aviso +", '" +postulacion.CorreoPostulante + "', convert(datetime,'" + postulacion.FechaRegistro + "',103))";
            SqlCommand comando = new SqlCommand(sentencia, conexion);
            comando.ExecuteNonQuery();
            conexion.Close();
            return postulacion;
        }
        public Postulacion ObtenerPostulacion(String correo)
        {
            conexion.Open();
            String sentencia = "select * from tbpostulacion where correopostulante='" + correo + "'";
            SqlCommand comando = new SqlCommand(sentencia, conexion);
            SqlDataReader resultado = comando.ExecuteReader();
            Postulacion postulacion = new Postulacion();
            if (resultado.HasRows)
            {
                resultado.Read();
                postulacion.Id_Postulacion=(int)resultado["id_postulacion"];
                postulacion.Id_Aviso=(int)resultado["id_aviso"];
                postulacion.CorreoPostulante=(String)resultado["correopostulante"];
                postulacion.DescripcionPostulante=(String)resultado["descripcionpostulante"];
                postulacion.FechaRegistro=(String)resultado["fecharegistro"];
            }
            else
            {
                throw new Exception("El correo indicado no se encuentra registrado en la BD");
            }
            conexion.Close();
            return postulacion;
        }
        public void EliminarPostulacion(String correo)
        {
            conexion.Open();
            String sentencia = "delete from tbpostulacion where correopostulante='"+correo+"'";
            SqlCommand comando = new SqlCommand(sentencia, conexion);
            comando.ExecuteNonQuery();
            conexion.Close();
        }

    }
}